package com.mobibusbr.facade;

import com.mobibusbr.dao.CidadeDAO;
import com.mobibusbr.dao.ComentarioDAO;
import com.mobibusbr.dao.DiasFuncionamentoDAO;
import com.mobibusbr.dao.HorarioDAO;
import com.mobibusbr.dao.IntinerarioDAO;
import com.mobibusbr.dao.LinhaDAO;
import com.mobibusbr.dao.UsuarioDAO;
import com.mobibusbr.interfaces.EntidadeMobiBusBR;
import com.mobibusbr.interfaces.GenericDao;
import com.mobibusbr.model.Cidade;
import com.mobibusbr.model.Comentarios;
import com.mobibusbr.model.Dias_Funcionamento;
import com.mobibusbr.model.Horario;
import com.mobibusbr.model.Intinerario;
import com.mobibusbr.model.Linha;
import com.mobibusbr.model.Usuario;

public class Multiplexador {
	

	@SuppressWarnings("rawtypes")
	private GenericDao dao;	

	public Multiplexador(EntidadeMobiBusBR entidade) {
		
		if(entidade instanceof Cidade){
			setDao(new CidadeDAO());
		}else if(entidade instanceof Comentarios){
			setDao(new ComentarioDAO());
		}else if(entidade instanceof Dias_Funcionamento){
			setDao(new DiasFuncionamentoDAO());
		}else if(entidade instanceof Horario){
			setDao(new HorarioDAO());
		}else if(entidade instanceof Linha){
			setDao(new LinhaDAO());
		}else if(entidade instanceof Usuario){
			setDao(new UsuarioDAO());
		}else if(entidade instanceof Intinerario){
			setDao(new IntinerarioDAO());
		}
		
	}

	@SuppressWarnings("rawtypes")
	public GenericDao getDao() {
		return dao;
	}

	@SuppressWarnings("rawtypes")
	public void setDao(GenericDao dao) {
		this.dao = dao;
	}
	
	
}
